package br.org.acessobrasil.portal.persistencia.sinc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Date;

import br.org.acessobrasil.correiobraille.modelo.CbrMensagem;
import br.org.acessobrasil.portal.util.MySqlConnection;

public class Servidor extends SuperSinc{
	
	/**
	 * Pega as informacoes da mensagem no banco e retorna em XML  
	 * @param tabela
	 * @param inicio
	 * @return
	 * @throws Exception
	 */
	public String getInformacao(String tabela,long inicio) throws Exception {
	
		Connection con = MySqlConnection.getConnection();
		CbrMensagem cbrMensagem= new CbrMensagem();
		String xml="<mensagemroot>";
		try {
			PreparedStatement ps = con.prepareStatement("Select * From "+tabela+" where id_mensagem > ?");
			ps.setLong(1, inicio);
			ResultSet rs = ps.executeQuery();
			while (rs.next()) {
				cbrMensagem.setTexto(rs.getString("texto"));
				cbrMensagem.setRemetente(rs.getString("remetente"));
				cbrMensagem.setDestinatario(rs.getString("destinatario"));
				Date data = rs.getTimestamp("datahora");
				cbrMensagem.setDatahora(data);
				cbrMensagem.setIdMensagem(rs.getLong("id_mensagem"));
				cbrMensagem.setImpresso(rs.getBoolean("impresso"));
				cbrMensagem.setIdUsuario(rs.getLong("id_usuario"));
				cbrMensagem.setNomeUsuario(rs.getString("nome_usuario"));
				cbrMensagem.setEmailRemetente(rs.getString("email_remetente"));
				//Concatena as mensagens 
				xml+=cbrMensagem.toXml();
			}
			xml+="</mensagemroot>";
			ps.close();
			rs.close();
		}catch (Exception e) {	
			e.printStackTrace();
		}finally {
			con.close();
		}
				
		return xml;
	}
	
}
